/* projection_common.h */

#ifndef DODO_PROJECTION_COMMON_H
#define DODO_PROJECTION_COMMON_H

#include <dodo_plot/kernel/plotfwd.h>
#include <dodo_plot/kernel/point.h>

namespace dodo_plot
{
namespace Map_Mode
{
enum 
{
	NORMAL,
	NO_DRAW,
	DOUBLE
};
}

class Projection_Base
{
public:
	virtual ~Projection_Base() { }

public:
	virtual Point operator() (double, double) const = 0;
	virtual Point operator() (const Point&) const = 0;

	virtual int check_box(double, double, double, double) const
	{
		return Map_Mode::NORMAL;
	}

	virtual void toggle() const
	{
		return;
	}

	virtual void toggle_off() const
	{
		return;
	}
};


}

#endif //DODO_PROJECTION_COMMON_H

